package com.erp.erp_ui.warehouse.vo;

import java.io.Serializable;
import java.math.BigDecimal;

/**
 * @ClassName : StockProductVo
 * @Description : 获取库存产品出参实体
 * @Author : lst
 * @Date: 2020-10-23 12:03
 */
public class StockProductVo implements Serializable {
    /**
     * 序列码
     */
    private static final long serialVersionUID = 3401946675156268962L;

    /**
     * 主键
     */
    private Integer id;

    /**
     * 批次号
     */
    private String lotNo;

    /**
     * 产品编码
     */
    private String productCode;

    /**
     * 规格编码
     */
    private String specificationCode;

    /**
     * 规格说明
     */
    private String specificationExplanation;

    /**
     * 仓库
     */
    private String warehouse;

    /**
     * 合同号
     */
    private String contractNo;

    /**
     * 合同类型(1:内销 2:外销 3:待定)
     */
    private String contractTypeStr;

    /**
     * 实际数量
     */
    private BigDecimal realQuantity;

    /**
     * 实际可用数量
     */
    private BigDecimal realAvailableQuantity;

    /**
     * 可申请数量
     */
    private BigDecimal canApplyQuantity;

    /**
     * 出库申请数量
     */
    private BigDecimal outWarehouseApply;

    /**
     * 供应商名称
     */
    private String supplierName;

    /**
     * 客户货号
     */
    private String clientProductNo;

    /**
     * 产品中文名称
     */
    private String productCname;

    /**
     * 产品英文名称
     */
    private String productEname;

    /**
     * 颜色
     */
    private String color;

    /**
     * 成本金额
     */
    private BigDecimal costAmount;

    /**
     * 产品单价(初始来源于备货入库中的 入库成本)
     */
    private BigDecimal productUnitPrice;

    /**
     * 备注
     */
    private String memo;

    /**
     * 入库日期
     */
    private String inStoreDate;

    /**
     * 分摊费用单价
     */
    private BigDecimal shareCostPrice;

    /**
     * 采购单号
     */
    private String purchaseNo;

    /**
     * 托盘入数
     */
    private BigDecimal trayNumber;

    /**
     * 总托盘
     */
    private BigDecimal totalTray;


    public Integer getId() {
        return id;
    }

    public void setId(Integer id) {
        this.id = id;
    }

    public String getLotNo() {
        return lotNo;
    }

    public void setLotNo(String lotNo) {
        this.lotNo = lotNo;
    }

    public String getProductCode() {
        return productCode;
    }

    public void setProductCode(String productCode) {
        this.productCode = productCode;
    }

    public String getSpecificationCode() {
        return specificationCode;
    }

    public void setSpecificationCode(String specificationCode) {
        this.specificationCode = specificationCode;
    }

    public String getSpecificationExplanation() {
        return specificationExplanation;
    }

    public void setSpecificationExplanation(String specificationExplanation) {
        this.specificationExplanation = specificationExplanation;
    }

    public String getWarehouse() {
        return warehouse;
    }

    public void setWarehouse(String warehouse) {
        this.warehouse = warehouse;
    }

    public String getContractNo() {
        return contractNo;
    }

    public void setContractNo(String contractNo) {
        this.contractNo = contractNo;
    }

    public String getContractTypeStr() {
        return contractTypeStr;
    }

    public void setContractTypeStr(String contractTypeStr) {
        this.contractTypeStr = contractTypeStr;
    }

    public BigDecimal getRealQuantity() {
        return realQuantity;
    }

    public void setRealQuantity(BigDecimal realQuantity) {
        this.realQuantity = realQuantity;
    }

    public BigDecimal getRealAvailableQuantity() {
        return realAvailableQuantity;
    }

    public void setRealAvailableQuantity(BigDecimal realAvailableQuantity) {
        this.realAvailableQuantity = realAvailableQuantity;
    }

    public BigDecimal getCanApplyQuantity() {
        return canApplyQuantity;
    }

    public void setCanApplyQuantity(BigDecimal canApplyQuantity) {
        this.canApplyQuantity = canApplyQuantity;
    }

    public BigDecimal getOutWarehouseApply() {
        return outWarehouseApply;
    }

    public void setOutWarehouseApply(BigDecimal outWarehouseApply) {
        this.outWarehouseApply = outWarehouseApply;
    }

    public String getSupplierName() {
        return supplierName;
    }

    public void setSupplierName(String supplierName) {
        this.supplierName = supplierName;
    }

    public String getClientProductNo() {
        return clientProductNo;
    }

    public void setClientProductNo(String clientProductNo) {
        this.clientProductNo = clientProductNo;
    }

    public String getProductCname() {
        return productCname;
    }

    public void setProductCname(String productCname) {
        this.productCname = productCname;
    }

    public String getProductEname() {
        return productEname;
    }

    public void setProductEname(String productEname) {
        this.productEname = productEname;
    }

    public String getColor() {
        return color;
    }

    public void setColor(String color) {
        this.color = color;
    }

    public BigDecimal getCostAmount() {
        return costAmount;
    }

    public void setCostAmount(BigDecimal costAmount) {
        this.costAmount = costAmount;
    }

    public BigDecimal getProductUnitPrice() {
        return productUnitPrice;
    }

    public void setProductUnitPrice(BigDecimal productUnitPrice) {
        this.productUnitPrice = productUnitPrice;
    }

    public String getMemo() {
        return memo;
    }

    public void setMemo(String memo) {
        this.memo = memo;
    }

    public String getInStoreDate() {
        return inStoreDate;
    }

    public void setInStoreDate(String inStoreDate) {
        this.inStoreDate = inStoreDate;
    }

    public BigDecimal getShareCostPrice() {
        return shareCostPrice;
    }

    public void setShareCostPrice(BigDecimal shareCostPrice) {
        this.shareCostPrice = shareCostPrice;
    }

    public String getPurchaseNo() {
        return purchaseNo;
    }

    public void setPurchaseNo(String purchaseNo) {
        this.purchaseNo = purchaseNo;
    }

    public BigDecimal getTrayNumber() {
        return trayNumber;
    }

    public void setTrayNumber(BigDecimal trayNumber) {
        this.trayNumber = trayNumber;
    }

    public BigDecimal getTotalTray() {
        return totalTray;
    }

    public void setTotalTray(BigDecimal totalTray) {
        this.totalTray = totalTray;
    }


    /**
     * 重写toString
     */
    @Override
    public String toString() {
        final StringBuilder sb = new StringBuilder("StockProductVo").append('[')
                .append("id=")
                .append(id)
                .append(",lotNo=")
                .append(lotNo)
                .append(",productCode=")
                .append(productCode)
                .append(",specificationCode=")
                .append(specificationCode)
                .append(",specificationExplanation=")
                .append(specificationExplanation)
                .append(",warehouse=")
                .append(warehouse)
                .append(",contractNo=")
                .append(contractNo)
                .append(",contractTypeStr=")
                .append(contractTypeStr)
                .append(",realQuantity=")
                .append(realQuantity)
                .append(",realAvailableQuantity=")
                .append(realAvailableQuantity)
                .append(",canApplyQuantity=")
                .append(canApplyQuantity)
                .append(",outWarehouseApply=")
                .append(outWarehouseApply)
                .append(",supplierName=")
                .append(supplierName)
                .append(",clientProductNo=")
                .append(clientProductNo)
                .append(",productCname=")
                .append(productCname)
                .append(",productEname=")
                .append(productEname)
                .append(",color=")
                .append(color)
                .append(",costAmount=")
                .append(costAmount)
                .append(",productUnitPrice=")
                .append(productUnitPrice)
                .append(",memo=")
                .append(memo)
                .append(",inStoreDate=")
                .append(inStoreDate)
                .append(",shareCostPrice=")
                .append(shareCostPrice)
                .append(",purchaseNo=")
                .append(purchaseNo)
                .append(",trayNumber=")
                .append(trayNumber)
                .append(",totalTray=")
                .append(totalTray)
                .append(']');
        return sb.toString();
    }
}
